import request from '@/utils/request'
import { useUserStore } from '@/stores/user'

// 用户登录
export function login(data) {
  return request({
    url: '/login',
    method: 'post',
    data: data
  })
}

// 用户注册
export function register(data, code) {
  return request({
    url: '/addUser',
    method: 'post',
    data: data,
    params: { code }
  })
}

// 发送验证码
export function sendCode(phone) {
  return request({
    url: '/sendMsg',
    method: 'get',
    params: { phone }
  })
}

// 找回密码
export function findPassword(data) {
  return request({
    url: '/findPassword',
    method: 'post',
    data
  })
}

// 申请成为专家
export function applyExpert() {
  return request({
    url: '/userUpdateApplyType',
    method: 'post',
    params: {
      roleId: 3,
      applyType: 0
    }
  })
}

// 获取待审核用户列表
export function getApplyTypeUsers() {
  return request({
    url: '/getApplyTypeUser',
    method: 'get'
  })
}

// 更新用户申请状态
export function updateUserApplyType() {
  return request({
    url: '/userUpdateApplyType',
    method: 'post'
  })
}

// 用户登出
export function logout() {
  return request({
    url: '/logout',
    method: 'get'
  })
}

// 管理员更新用户申请状态
export function adminUpdateApplyType(userId, applyType) {
  return request({
    url: '/adminUpdateApplyType',
    method: 'post',
    params: {
      userId,
      applyType
    }
  })
}

// 获取用户个人信息
export function getUserProfile() {
  return request({
    url: '/getUserProfile',
    method: 'get'
  })
}

// 更新用户个人信息
export function updateUserProfile(data) {
  return request({
    url: '/updateUserProfile',
    method: 'post',
    data
  })
}

// 上传头像
export function uploadAvatar(file) {
  const formData = new FormData()
  formData.append('image', file)
  return request({
    url: '/uploadAvatar',
    method: 'post',
    data: formData,
    headers: {
      'Content-Type': 'multipart/form-data'
    }
  })
}

// 获取用户余额
export function getUserBalance() {
  return request({
    url: '/getUserBalance',
    method: 'get'
  })
}

// 获取用户交易记录
export function getUserTransactions() {
  return request({
    url: '/getUserTransactions',
    method: 'get'
  })
}

// 获取所有用户列表
export function getAllUsers(params) {
  return request({
    url: '/user/list',
    method: 'get',
    params
  })
}

// 更新用户状态
export function updateUserStatus(data) {
  return request({
    url: '/user/status',
    method: 'put',
    data
  })
}

// 更新用户角色
export function updateUserRoles(data) {
  return request({
    url: '/user/roles',
    method: 'put',
    data
  })
}

// 重置用户密码
export function resetUserPassword(userId) {
  return request({
    url: `/user/resetPassword/${userId}`,
    method: 'put'
  })
}

// 删除用户
export function deleteUser(userId) {
  return request({
    url: `/user/${userId}`,
    method: 'delete'
  })
}

// 更新用户信息
export function updateUserInfo(data) {
  return request({
    url: '/user/info',
    method: 'put',
    data
  })
} 